Batch vs Stream — подходы к обработке данных по времени поступления и требованиям к задержкам.

Batch

  • Обработка больших объёмов пакетами по расписанию.

  • Примеры: ETL в DWH, отчёты за день/час.

  • Плюсы: простота, реплей, детерминированность.

  • Минусы: задержка, «старые» данные.

Stream

  • Обработка событий непрерывно/с малыми окнами.

  • Примеры: антифрод, realtime уведомления, метрики.

  • Плюсы: низкая задержка, реактивность.

  • Минусы: управление состоянием/порядком, сложность тестов и деплоев.

Ключевые понятия

  • Event time vs processing time; окна (tumbling/sliding/session); watermarks.

  • Гарантии доставки и состояния: at-least-once, effectively-once, дедупликация.

  • Источники/синк: лог событий (Kafka), CDC, очереди, базы, DWH.

Выбор

  • Если достаточно T+часы — batch.

  • Если нужен отклик < секунд/минут — stream или гибрид (lambda/kappa).

Последнее обновление